今天是國慶日,同時也是鐵人賽的倒數第5天,大家有去台中看煙火嗎,逢甲附近的人真的是不知道在多什麽啊喂,好回歸正題,可能有稍微自己打過這個網站的同學會問這個哪裡有 CSRF 漏洞可以打,沒錯你們的懷疑很正確,因爲嚴格來説這個網站的 CSRF(Cross-site request forgery)比較像是 STF(Synchronizer token patter)好其實根本就是,但是也被歸類在 CSRF 之下,所以我才不管
至於 CSRF 是什麽,攻擊過程通常如下:
受害者登入一個網站A,並在瀏覽器中保留了登入狀態,使得瀏覽器保存了用戶的身份驗證信息(例如,Cookie)。
攻擊者創建一個特製的網頁,其中包含對網站A的請求,並將這個請求的目標設定為執行特定的操作,例如更改密碼、轉賬金錢等。
攻擊者將這個特製的網頁傳給受害者,通常是透過社交媒體、電子郵件或其他方式。
受害者打開這個網頁,瀏覽器會自動發送對網站A的請求,因為瀏覽器仍然保持著受害者的身份驗證信息,所以請求會以受害者的身份執行。
結果是,攻擊者成功地執行了惡意操作,而受害者可能毫不知情,因為他們可能無法區分合法請求和攻擊者的請求。
簡單來説是這樣,而剛剛提到的 STF,攻擊過程則是如下:
當用戶登入網站時,網站會生成一個隨機且唯一的令牌(即同步器令牌),然後將這個令牌關聯到該用戶的會話。
這個同步器令牌通常會以一個隱藏的方式嵌入到網頁表單中,或者作為Cookie的一部分。當用戶發出需要身份驗證的請求時,瀏覽器會自動包含這個令牌。
當瀏覽器向網站發送請求時,網站會驗證請求中的同步器令牌是否與該用戶的會話中存儲的令牌相符。如果相符,則認為請求是合法的,並執行相應的操作。否則,請求將被視為不合法,並被拒絕執行。
攻擊者難以模擬或偽造這個同步器令牌,因為令牌是隨機生成的且只與受保護的用戶會話相關聯。
沒錯大概就是這樣,有沒有對 CSRF 比較瞭解一點了呢?明天就是正式帶入測試網站的實戰